﻿namespace Pibby.Core.IO
{
	/// <summary>
	/// Visitor pattern implementation for iterating over files and folders
	/// </summary>
	public interface IFileVisitor
	{
		/// <summary>
		/// The next file found
		/// </summary>
		/// <param name="file"></param>
		/// <returns>true to continue processing, false to stop</returns>
		bool Visit(IFile file);

		void Entering(IFolder folder);

		void Leaving(IFolder folder);
	}
}
